70 SCREEN 9
80 CLS:KEY OFF
90 LINE(0,0)-(639,349),,B
91 LINE(0,0)-(349,349)
92 LINE(50,0)-(399,349)
93 LINE(100,0)-(449,349)
94 LINE(150,0)-(499,349)
95 LINE(200,0)-(549,349)
96 LINE(250,0)-(599,349)
97 LINE(300,0)-(649,349)
98 LINE(350,0)-(699,349)
99 LINE(400,0)-(749,349)
100 WIDTH "LPT1:",255
110 LPRINT CHR$(27)+"3"+CHR$(20);:REM 20/216" LINE FEEDS
120 FOR Y=0 TO 336 STEP 8:REM 43 LINES OF 8 PIXELS
130   LPRINT CHR$(27)+"L"+CHR$(128)+CHR$(2);:REM 640 MOD 256,INT(640/256)
140   FOR X=0 TO 639
150     PBYTE=0
160     IF POINT(X,Y)<>0 THEN PBYTE=PBYTE+128
170     IF POINT(X,Y+1)<>0 THEN PBYTE=PBYTE+64
180     IF POINT(X,Y+2)<>0 THEN PBYTE=PBYTE+32
190     IF POINT(X,Y+3)<>0 THEN PBYTE=PBYTE+16
200     IF POINT(X,Y+4)<>0 THEN PBYTE=PBYTE+8
210     IF POINT(X,Y+5)<>0 THEN PBYTE=PBYTE+4
220     IF POINT(X,Y+6)<>0 THEN PBYTE=PBYTE+2
230     IF POINT(X,Y+7)<>0 THEN PBYTE=PBYTE+1
240     LPRINT CHR$(PBYTE);
250   NEXT X
270   LPRINT CHR$(10);
280 NEXT Y
420 Y=344:REM LAST LINE IS ONLY SIX PIXELS
430 LPRINT CHR$(27)+"L"+CHR$(128)+CHR$(2);:REM 640 MOD 256,INT(640/256)
440 FOR X=0 TO 639
450   PBYTE=0
460   IF POINT(X,Y)<>0 THEN PBYTE=PBYTE+128
470   IF POINT(X,Y+1)<>0 THEN PBYTE=PBYTE+64
480   IF POINT(X,Y+2)<>0 THEN PBYTE=PBYTE+32
490   IF POINT(X,Y+3)<>0 THEN PBYTE=PBYTE+16
500   IF POINT(X,Y+4)<>0 THEN PBYTE=PBYTE+8
510   IF POINT(X,Y+5)<>0 THEN PBYTE=PBYTE+4
540   LPRINT CHR$(PBYTE);
550 NEXT X
560 LPRINT CHR$(27)+"3"+CHR$(36);:REM BACK TO 36/216" LINE FEEDS

